[INFO] fetching crate tiberqueries 0.1.3...
[INFO] testing tiberqueries-0.1.3 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate tiberqueries 0.1.3 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate tiberqueries 0.1.3
[INFO] finished tweaking crates.io crate tiberqueries 0.1.3
[INFO] tweaked toml for crates.io crate tiberqueries 0.1.3 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tiberqueries 0.1.3 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 157 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f781233cb83e29f5cae54e71deaccea6b5f5f97de29959b6937c5a638e884788
[INFO] running `Command { std: "docker" "start" "-a" "f781233cb83e29f5cae54e71deaccea6b5f5f97de29959b6937c5a638e884788", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f781233cb83e29f5cae54e71deaccea6b5f5f97de29959b6937c5a638e884788", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f781233cb83e29f5cae54e71deaccea6b5f5f97de29959b6937c5a638e884788", kill_on_drop: false }`
[INFO] [stdout] f781233cb83e29f5cae54e71deaccea6b5f5f97de29959b6937c5a638e884788
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3f998b1a870d4d47d18d2adfc2c10e2d4b816849943ee0eabb0709f8d850be0
[INFO] running `Command { std: "docker" "start" "-a" "f3f998b1a870d4d47d18d2adfc2c10e2d4b816849943ee0eabb0709f8d850be0", kill_on_drop: false }`
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling pretty-hex v0.3.0
[INFO] [stderr]    Compiling connection-string v0.2.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling asynchronous-codec v0.6.2
[INFO] [stderr]    Compiling tiberqueries_derive v0.1.3
[INFO] [stderr]    Compiling async-native-tls v0.4.0
[INFO] [stderr]    Compiling tiberius v0.12.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tiberqueries v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn qry<'a, T: FromRow>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 10 ~     fn qry<'a, T: FromRow>(
[INFO] [stdout] 11 |         &mut self,
[INFO] [stdout] 12 |         qry: Query<'a>,
[INFO] [stdout] 13 ~     ) -> impl std::future::Future<Output = Result<Vec<T>, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 ~     fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stdout] 16 |         &mut self,
[INFO] [stdout] 17 |         qry: Query<'a>,
[INFO] [stdout] 18 ~     ) -> impl std::future::Future<Output = Result<Option<T>, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 20 -     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stdout] 20 +     fn exec<'a>(&mut self, qry: Query<'a>) -> impl std::future::Future<Output = Result<ExecuteResult, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.66s
[INFO] running `Command { std: "docker" "inspect" "f3f998b1a870d4d47d18d2adfc2c10e2d4b816849943ee0eabb0709f8d850be0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3f998b1a870d4d47d18d2adfc2c10e2d4b816849943ee0eabb0709f8d850be0", kill_on_drop: false }`
[INFO] [stdout] f3f998b1a870d4d47d18d2adfc2c10e2d4b816849943ee0eabb0709f8d850be0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f9fd6dc6942ef33dbb5498f9953cded6835b39227453287ae168c826717aad6
[INFO] running `Command { std: "docker" "start" "-a" "1f9fd6dc6942ef33dbb5498f9953cded6835b39227453287ae168c826717aad6", kill_on_drop: false }`
[INFO] [stderr]    Compiling tiberqueries v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn qry<'a, T: FromRow>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 10 ~     fn qry<'a, T: FromRow>(
[INFO] [stdout] 11 |         &mut self,
[INFO] [stdout] 12 |         qry: Query<'a>,
[INFO] [stdout] 13 ~     ) -> impl std::future::Future<Output = Result<Vec<T>, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 ~     fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stdout] 16 |         &mut self,
[INFO] [stdout] 17 |         qry: Query<'a>,
[INFO] [stdout] 18 ~     ) -> impl std::future::Future<Output = Result<Option<T>, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 20 -     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stdout] 20 +     fn exec<'a>(&mut self, qry: Query<'a>) -> impl std::future::Future<Output = Result<ExecuteResult, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn qry<'a, T: FromRow>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 10 ~     fn qry<'a, T: FromRow>(
[INFO] [stdout] 11 |         &mut self,
[INFO] [stdout] 12 |         qry: Query<'a>,
[INFO] [stdout] 13 ~     ) -> impl std::future::Future<Output = Result<Vec<T>, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 ~     fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stdout] 16 |         &mut self,
[INFO] [stdout] 17 |         qry: Query<'a>,
[INFO] [stdout] 18 ~     ) -> impl std::future::Future<Output = Result<Option<T>, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/query.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 20 -     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stdout] 20 +     fn exec<'a>(&mut self, qry: Query<'a>) -> impl std::future::Future<Output = Result<ExecuteResult, tiberius::error::Error>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.57s
[INFO] running `Command { std: "docker" "inspect" "1f9fd6dc6942ef33dbb5498f9953cded6835b39227453287ae168c826717aad6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f9fd6dc6942ef33dbb5498f9953cded6835b39227453287ae168c826717aad6", kill_on_drop: false }`
[INFO] [stdout] 1f9fd6dc6942ef33dbb5498f9953cded6835b39227453287ae168c826717aad6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e88e90d3c978d5fd2338f2a4467b7d1ff33ef6b7ba61fd5009334ede978d315b
[INFO] running `Command { std: "docker" "start" "-a" "e88e90d3c978d5fd2338f2a4467b7d1ff33ef6b7ba61fd5009334ede978d315b", kill_on_drop: false }`
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/query.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     async fn qry<'a, T: FromRow>(
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 10 ~     fn qry<'a, T: FromRow>(
[INFO] [stderr] 11 |         &mut self,
[INFO] [stderr] 12 |         qry: Query<'a>,
[INFO] [stderr] 13 ~     ) -> impl std::future::Future<Output = Result<Vec<T>, tiberius::error::Error>> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/query.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     async fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 15 ~     fn qry_first_or_none<'a, T: FromRow>(
[INFO] [stderr] 16 |         &mut self,
[INFO] [stderr] 17 |         qry: Query<'a>,
[INFO] [stderr] 18 ~     ) -> impl std::future::Future<Output = Result<Option<T>, tiberius::error::Error>> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/query.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 20 -     async fn exec<'a>(&mut self, qry: Query<'a>) -> Result<ExecuteResult, tiberius::error::Error>;
[INFO] [stderr] 20 +     fn exec<'a>(&mut self, qry: Query<'a>) -> impl std::future::Future<Output = Result<ExecuteResult, tiberius::error::Error>> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `tiberqueries` (lib) generated 3 warnings
[INFO] [stderr] warning: `tiberqueries` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tiberqueries-0a295473bd17423e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tiberqueries
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/query.rs - query::SqlConnection::exec (line 76) ... ignored
[INFO] [stdout] test src/query.rs - query::SqlConnection::qry (line 28) ... ignored
[INFO] [stdout] test src/query.rs - query::SqlConnection::qry_first_or_none (line 54) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e88e90d3c978d5fd2338f2a4467b7d1ff33ef6b7ba61fd5009334ede978d315b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e88e90d3c978d5fd2338f2a4467b7d1ff33ef6b7ba61fd5009334ede978d315b", kill_on_drop: false }`
[INFO] [stdout] e88e90d3c978d5fd2338f2a4467b7d1ff33ef6b7ba61fd5009334ede978d315b
